{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#首先 import 必要的模块\n",
    "import numpy as np # linear algebra\n",
    "import pandas as pd # data processing, CSV file I/O\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "#color = sns.color_palette()\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>msno</th>\n",
       "      <th>song_id</th>\n",
       "      <th>source_system_tab</th>\n",
       "      <th>source_screen_name</th>\n",
       "      <th>source_type</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=</td>\n",
       "      <td>explore</td>\n",
       "      <td>Explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=</td>\n",
       "      <td>my library</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=</td>\n",
       "      <td>my library</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=</td>\n",
       "      <td>my library</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=</td>\n",
       "      <td>explore</td>\n",
       "      <td>Explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           msno  \\\n",
       "0  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "1  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "2  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "3  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "4  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "\n",
       "                                        song_id source_system_tab  \\\n",
       "0  BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=           explore   \n",
       "1  bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=        my library   \n",
       "2  JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=        my library   \n",
       "3  2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=        my library   \n",
       "4  3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=           explore   \n",
       "\n",
       "    source_screen_name      source_type  target  \n",
       "0              Explore  online-playlist       1  \n",
       "1  Local playlist more   local-playlist       1  \n",
       "2  Local playlist more   local-playlist       1  \n",
       "3  Local playlist more   local-playlist       1  \n",
       "4              Explore  online-playlist       1  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train = pd.read_csv(\"../data1/train.csv\")\n",
    "train.head() #读取数据并查看前五行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train : (7377418, 6)\n"
     ]
    }
   ],
   "source": [
    "print(\"Train :\", train.shape)#读取训练数据，并查看特征维数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 7377418 entries, 0 to 7377417\n",
      "Data columns (total 6 columns):\n",
      "msno                  object\n",
      "song_id               object\n",
      "source_system_tab     object\n",
      "source_screen_name    object\n",
      "source_type           object\n",
      "target                int64\n",
      "dtypes: int64(1), object(5)\n",
      "memory usage: 337.7+ MB\n"
     ]
    }
   ],
   "source": [
    "#查看数据基本信息\n",
    "train.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "7377418个样本，5个特征1个标签列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>7.377418e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>5.035171e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>4.999877e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             target\n",
       "count  7.377418e+06\n",
       "mean   5.035171e-01\n",
       "std    4.999877e-01\n",
       "min    0.000000e+00\n",
       "25%    0.000000e+00\n",
       "50%    1.000000e+00\n",
       "75%    1.000000e+00\n",
       "max    1.000000e+00"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 查看样本中为0数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "msno                        0\n",
      "song_id                     0\n",
      "source_system_tab           0\n",
      "source_screen_name          0\n",
      "source_type                 0\n",
      "target                3662762\n",
      "dtype: int64\n"
     ]
    }
   ],
   "source": [
    "dtype=[\"msno\",\"song_id\",\"source_system_tab\",\"source_screen_name\",\"source_type\",\"target\"]\n",
    "print((train[dtype] == 0).sum())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以看到为0的值特征列没有，标签数据用户没有续订的样本数有3662762"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 查看样本缺省值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "msno 缺省值数： 0\n",
      "song_id 缺省值数： 0\n",
      "source_system_tab 缺省值数： 24849\n",
      "source_screen_name 缺省值数： 414804\n",
      "source_type 缺省值数： 21539\n",
      "target 缺省值数： 0\n"
     ]
    }
   ],
   "source": [
    "for i in dtype:\n",
    "    print(i,'缺省值数：',len(train[pd.isna(train[i])==True]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据中source_system_tab，source_screen_name和source_type各有24849,414804和21539个缺省值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 计算用户数、音乐数目"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of users = 30755\n",
      "Number of music = 359966\n"
     ]
    }
   ],
   "source": [
    "n_users = train['msno'].unique().shape[0]\n",
    "n_items = train['song_id'].unique().shape[0]\n",
    "print ('Number of users = ' + str(n_users) + '\\n'+ 'Number of music = ' + str(n_items) )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有用户数为30755，音乐数量为359966"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 计算用户以及歌曲的订阅次数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "o+5RNlSWrzvrphgBNGIo1FLkGxBgyICns6qXj3nS7Pk=    3288\n",
       "KGXNZ/H3VxvET/+rGxlrAe7Gpz2eKMXyuSg3xh8Ij1M=    2818\n",
       "FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=    2791\n",
       "MXIMDXO0j3UpaT7FvOSGW6Y5zfhlh+xYjTqGoUdMzEE=    2069\n",
       "dU4RbzpIRRd/EkA9Xncpy9CglzDBZp7nKMfdnfr3Aj8=    1978\n",
       "4DlS5LiANEKlMTQD08dakyV1JWwPYI/n1wyjx4ImjPc=    1814\n",
       "JkQacE3rvmhh65R04eDLbu+M7MCkpzmHwMGrbZo0puc=    1806\n",
       "uCDJmSDTzA5PpnYGqKvNmFbwBIoS3jIXFbO5YfoCv/Y=    1794\n",
       "1wiu2UfN0BNhHfPTrDS3S/rQkX/vnwDoKH6ODTUdH9k=    1737\n",
       "cqjRBV/jWN2ujhc+z/4tz+Mj6xEfflAAt6qBXCqxKvw=    1735\n",
       "7xiBI5xU3P2/IiR9teB7jySfzWo96JGikGajteLd3Cs=    1715\n",
       "HVcWdf8CEo9s6qwt5V7TpoPYJfRlQSTA6b7kxEAImpc=    1710\n",
       "mDJCU+fKu/mbdk9l4SmPYiJwpeMyK44o9wmG1X3735A=    1607\n",
       "V39VxDdE9SgMQZnX58oQChm9W056pw2lC3TiifMfkKw=    1602\n",
       "LThaiVqGGnVTPmTcmwN/LLo4fVb5dzkduzd7s1SgzIA=    1578\n",
       "EZmIP7zKgqKwpEHnuDjRIkzCmcLNlHn4hkiglZ5LxK8=    1539\n",
       "00qmlWC3H/cjf2Ig1li5xIO0VNDRgBX0f9ilouDBEZs=    1533\n",
       "x+k/zTEqdgYq6O+r1iDjKRaQnaCS5118gzBe8c12r1Y=    1503\n",
       "K7obY5lUlZTd6a/byE9NG/e7Q/dlgHfppLbYk8OL7os=    1498\n",
       "saNgxsUQwx4IXBRgFF0w3uJN6KzvQBEv3dI7dDaz97g=    1488\n",
       "hYJpPvGod6vy09TnlXdQe3Q0vlxju5u5Ruf8V2XkTio=    1476\n",
       "xQp8uu2ljPWqokw6Eg+4TCB/GUC/EZwFMcapcleGiDw=    1469\n",
       "vBNHobQRQsofef7+9NZk4C6Y6T2PBXSGXUbn6c8UOcg=    1448\n",
       "T+FJrpYi77CWTUE5nO/vliojRaTPgt2bRUQHy5lhXrQ=    1406\n",
       "ocQB699RoI5sBlRUfv8tu++vqupI35/95l3U507jdpw=    1383\n",
       "MxCUQ6tAD7LU1yR0gwRck91ZKE88gY8kD/rX9Hi9srQ=    1381\n",
       "YU6fAgCFgPkaJ1YSW2838KzGTxmBCfgousTO8jwuHYM=    1362\n",
       "wv0o115CdKSsFlsV7VvHikjyxLG0LFc5qALhM8xkUZ4=    1353\n",
       "6aH1YAi5YwvZUHtpjEaMQwM0p4wP4XLrkWQSdXDF9L8=    1341\n",
       "akW+xn32y3X+ZisQokWwV8+caojTEpm3E8lV8E3yuBk=    1326\n",
       "                                                ... \n",
       "hh0ezzTJCTktBs/E6z1YOc4iaP2ACZWwxe2syxe5oOE=       1\n",
       "mikhA7mb21eqqxs3t7zmE8p/NPONTwETzDjuvzZu8bE=       1\n",
       "LFkSf1U8KvnelKAXQONo62Z21nCwj69ZfQaiE1+tAjM=       1\n",
       "qAHlfXYy2vBa3rR9UCQtACnenTuAfdn8m+cEWKOLm4E=       1\n",
       "xOitvhdLK2F1QhDjheUQhwr36/XDOy4OBFmRwZSw+lU=       1\n",
       "JlG8s065ednz2Emnh+vQQIHbac2Uafi0FMc2ATzpjuI=       1\n",
       "YOllWIViACp+OXSrwHz+0JFQ4/t747dAdQvUXhH5VCQ=       1\n",
       "QgGZ9ukhHq3KBarvmbt5qCSwvjykm56BPv2F8I6hf9I=       1\n",
       "60NFhraryKbU5tjgdWPMhyTcxvdYPUrmx36dS97HBJw=       1\n",
       "0wgc4w2jY5UdNwuVAdKbHY1R+rj/wvalhjHgEiqYgno=       1\n",
       "AzBBHJad/vfnkqukQGGyY2CLJHiT9MN7mNqZx73bGMM=       1\n",
       "EKvlimTFLaSkXi2dzete6/gKGegP7AkrnwmoeJOoE5o=       1\n",
       "zqzS6rJYLpRCtGcOf+VSK0GC2f8XfjLw0sImuqq5JfU=       1\n",
       "f6OfjT7TazAhkrOM9jS/7qcd1xYXpwECHggm517CU3k=       1\n",
       "jL29sZkE4GCGP/3x5s+WnEQkzudDc9ylDoTq991ejF8=       1\n",
       "HGi/coVbR5hAyUwi+7nwlr9NBSADwnYvETw+b65/5Wk=       1\n",
       "McKwwKhh5pi3h9b+DXfJ4/JF4KZd6MwcD1UXcQ4fRXI=       1\n",
       "rdViIWEdRo21Og2K8NIP/0UYvpJgPw1q45vOTJpX6OQ=       1\n",
       "sx4G/KPBLooGUeLTVmiyXODNLhEKwGGoWa4+A0g02bY=       1\n",
       "KgMgAce58V7xT6KFIaj+9gL14M9Nam9oYts6cgDbZGM=       1\n",
       "gY98aNtMs0A4E312NdzcVp6zXvz+V0TEbDNYXqcZE78=       1\n",
       "m1Zkssir7E62WL72BOPI3lJVutRd7rui0RnuZuJSuU0=       1\n",
       "fpGSePKPDrpJZrLCefw4MiBG6JhTjVSwpBaWDoa5rZ0=       1\n",
       "vkqmQ85nWwEoAce9OQTTu6Wyi7Ukszom3qBOcZqFvlY=       1\n",
       "gTs75Fz+bTukOCKFmSbZR+Wh8nGugeAPCWck7BARC0U=       1\n",
       "aSg5owJ4qATH/YuS6KAHdfZKuF9oPjpISw0RK87u9n0=       1\n",
       "EUmF2kN9dhZTTy8zZw4+1K0CfIjCb6Pxz4Vvxsnnx7o=       1\n",
       "jPgCkvNlibtWA93nTFFND9JnsN4xi8ofbOCP/kMr7/o=       1\n",
       "L2i/Q9Csx7X54rlC3SYmNitBvU8Qwr03VJCQupKv7m0=       1\n",
       "IEOe7o56H/OTfS4fSH9lVg8Y6r8oH5d3duACxtbV9f8=       1\n",
       "Name: msno, Length: 27113, dtype: int64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 统计每部电影的评分人数，可看出电影的流行程度，默认是降序排列\n",
    "train_clicked = train[train['target']==1]\n",
    "user_freq =train_clicked['msno'].value_counts() \n",
    "item_freq =train_clicked['song_id'].value_counts()\n",
    "user_freq"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到最活跃的用户连续订阅了 3288次，而不活跃的用户即订阅为1次的用户也存在"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=    10885\n",
       "T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=    10556\n",
       "FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=     9808\n",
       "wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=     9411\n",
       "PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=     9004\n",
       "U9kojfZSKaiWOW94PKh1Riyv/zUWxmBRmv0XInQWLGw=     8787\n",
       "YN4T/yvvXtYrBVN8KTnieiQohHL3T9fnzUkbLWcgLro=     8780\n",
       "M9rAajz4dYuRhZ7jLvf9RRayVA3os61X/XXHEuW4giA=     8403\n",
       "43Qm2YzsP99P5wm37B1JIhezUcQ/1CDjYlQx6rBbz2U=     8112\n",
       "J4qKkLIoW7aYACuTupHLAPZYmRp08en1AEux+GSUzdw=     7903\n",
       "cy10N2j2sdY/X4BDUcMu2Iumfz7pV3tqE5iEaup2yGI=     7725\n",
       "750RprmFfLV0bymtDH88g24pLZGVi5VpBAI300P6UOA=     7608\n",
       "IKMFuL0f5Y8c63Hg9BXkeNJjE0z8yf3gMt/tOxF4QNE=     7224\n",
       "+SstqMwhQPBQFTPBhLKPT642IiBDXzZFwlzsLl4cGXo=     7061\n",
       "DLBDZhOoW7zd7GBV99bi92ZXYUS26lzV+jJKbHshP5c=     6901\n",
       "v/3onppBGoSpGsWb8iaCIO8eX5+iacbH5a4ZUhT7N54=     6879\n",
       "p/yR06j/RQ2J6yGCFL0K+1R06OeG+eXcwxRgOHDo/Tk=     6536\n",
       "Xpjwi8UAE2Vv9PZ6cZnhc58MCtl3cKZEO1sdAkqJ4mo=     6399\n",
       "OaEbZ6TJ1NePtNUeEgWsvFLeopkSln9WQu8PBR5B3+A=     6187\n",
       "BITuBuNyXQydJcjDL2BUnCu4/IXaJg5IPOuycc/4dtY=     6160\n",
       "BgqjNqzsyCpEGvxyUmktvHC8WO5+FQO/pQTaZ4broMU=     6140\n",
       "3VkD5ekIf5duJm1hmYTZlXjyl0zqV8wCzuAh3uocfCg=     6012\n",
       "8Ckw1wek5d6oEsNUoM4P5iag86TaEmyLwdtrckL0Re8=     6003\n",
       "n+pMhj/jpCnpiUcSDl4k3i9FJODDddEXmpE48/HczTI=     5787\n",
       "WL4ipO3Mx9pxd4FMs69ha6o9541+fLeOow67Qkrfnro=     5784\n",
       "/70HjygVDhHsKBoV8mmsBg/WduSgs4+Zg6GfzhUQbdk=     5588\n",
       "L6w2d0w84FjTvFr+BhMfgu7dZAsGiOqUGmvvxIG3gvQ=     5480\n",
       "fEAIgFRWmhXmo6m3ukQeqRksZCcO/7CjkqNckRHiVQo=     5460\n",
       "+Sm75wnBf/sjm/QMUAFx8N+Ae04kWCXGlgH50tTeM6c=     5412\n",
       "VkDBgh89umc9m6uAEfD6LXngetyGhln4vh/ArCGO0nY=     5361\n",
       "                                                ...  \n",
       "TxK9U5Ko+9dO7F+XhyAgK0Xplh806saTbIYWBFs8p8U=        1\n",
       "7AWQmT07uEKVlonp1DbW3L3DMN+ellpyYJXmsGZ4xHw=        1\n",
       "w60IUMZOEih4BCyo4shILBvPHr2HulE864HI7pFUdwk=        1\n",
       "Pih69pKm4uWYY6VXY+JTz/PCgBtohhRX6VQznGLq2RU=        1\n",
       "j3dqe7Jn6UY/IBPhNxB7zAXVgObIeLquIdMFyOsb3SQ=        1\n",
       "QhvoqiCPnzFPZeOkksNZsP3a0WSrGmLn/V/V7lUzoh8=        1\n",
       "AMHSIho4uWuyFecrFA6kcX+XUGt0VAt4QNgqsGnHSlA=        1\n",
       "Kf+Xwd62INseCYMxGG998VGlLLd/f6hqshtZsosyQcs=        1\n",
       "kV2v/hAbOnw/umce/3FpueBqfAbl1SYdayPl3zvjSYg=        1\n",
       "PQAV0KjH5QGIc4H+WxnpYqMJWTceWUgK4Cc9vM/xbss=        1\n",
       "d40kZSrWgpxrii3edSCfAKAdDAoJEzHGlBj7Kio0ZDo=        1\n",
       "ggIBCnuH84UamRB/wnb1PRqGSB46TDfexkCFJPBUmz0=        1\n",
       "UceJ8JMeVgiFuez60Bk8GaQbgSfhPnxJNcEXNNxGWhs=        1\n",
       "lQ1V8lWY04/lLcvIqYBNrTtOAB3iWZBSE1Gs1Kr6ch8=        1\n",
       "2reNJbucpV54mddq7p0cRK5cb8RIgXyIpzyqNH5DlfQ=        1\n",
       "LMcvXaHJfcev+MnvQNFegNr3WdN1epaBGYCGfK7KNFE=        1\n",
       "EnWcJaO3CaBgkx0SmlVRWKvhE1umkqpdOZrPiJhLnZI=        1\n",
       "Cuy+on1T+seHYYendooXcufdqmmPUdDYdDMF+XbPUeU=        1\n",
       "rWNjToe9+p5nA+XEpjbXOfDBJ/93+lZbpI0U8hmoHVI=        1\n",
       "1oRLO4TFi5LvKYYn5yQfDMALVmydU02R+Vqz8wszGME=        1\n",
       "5J3pOhGCO3voWtwQQoP7ofPtCz7gtNjRFjuQ4NQhuvA=        1\n",
       "QALMLEX+GxgLA8bluNuDj/25RQfyww789XuxZXTXDwM=        1\n",
       "8p6PjaEqU+DTA1ThWtJizvM+T8q4LYJGIDOHj21x1fI=        1\n",
       "iC0t7+Y8MAHszgko87uleulWo1teMKTgR5KacE+POfQ=        1\n",
       "BTNphF797clbUeEk7rv6QRdPzcBPvRMLGDZnzh2dKcA=        1\n",
       "0oZRfNYtxaV4oH0jU5/B3xtDqqNHg8z44THNgwcwhNY=        1\n",
       "fo6EGSNvaZFVhIP3kkBvzhHmt5cWxMIMTkWY+VxvpD0=        1\n",
       "KRfrI4F7971IeXaqTRlDJwjED+bYe2kELaIWNk7EpwM=        1\n",
       "YcOhU90DDLcSn74AC1s6OywDjuZB2jAwV5zgurwLaRA=        1\n",
       "6WdN4HBWviQk4wrhbVUtVJ3HdB26G4TJxv6jSzL6g64=        1\n",
       "Name: song_id, Length: 223723, dtype: int64"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_freq"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最受欢迎的歌曲被订阅了 10885，但是很多歌曲都只被订阅了1次或者没有，拖尾性严重"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'Number of occurrences')"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#查看target订阅情况\n",
    "sns.countplot(train['target'])\n",
    "plt.xlabel('subscription type')\n",
    "plt.ylabel('Number of occurrences')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从图中可以看出继续订阅和停止订阅的数量差不多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>rating_times</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=</th>\n",
       "      <td>reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=</td>\n",
       "      <td>10885</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=</th>\n",
       "      <td>T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=</td>\n",
       "      <td>10556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=</th>\n",
       "      <td>FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=</td>\n",
       "      <td>9808</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=</th>\n",
       "      <td>wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=</td>\n",
       "      <td>9411</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=</th>\n",
       "      <td>PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=</td>\n",
       "      <td>9004</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                                   song_id  \\\n",
       "reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=  reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=   \n",
       "T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=  T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=   \n",
       "FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=  FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=   \n",
       "wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=  wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=   \n",
       "PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=  PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=   \n",
       "\n",
       "                                              rating_times  \n",
       "reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=         10885  \n",
       "T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=         10556  \n",
       "FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=          9808  \n",
       "wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=          9411  \n",
       "PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=          9004  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 统计每首歌曲的订阅次数，可看出歌曲的流行程度，默认是降序排列\n",
    "item_freq =train_clicked['song_id'].value_counts()\n",
    "#item_freq.head()\n",
    "\n",
    "df_items_sorted_by_item_freq = pd.DataFrame({'song_id':item_freq.index, 'rating_times':item_freq})\n",
    "df_items_sorted_by_item_freq.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#按订阅次数排列\n",
    "item_freq1 = item_freq.copy()\n",
    "item_freq.index = range(item_freq1.count()) # 对索引重新赋值，方便画图\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "item_freq1.plot(ax=ax, title='rating_times');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从图中可以看出，歌曲订阅两级分化严重，订阅次数为0、1与其他值的分化较大。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>song_length</th>\n",
       "      <th>genre_ids</th>\n",
       "      <th>artist_name</th>\n",
       "      <th>composer</th>\n",
       "      <th>lyricist</th>\n",
       "      <th>language</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CXoTN1eb7AI+DntdU1vbcwGRV4SCIDxZu+YD8JP8r4E=</td>\n",
       "      <td>247640</td>\n",
       "      <td>465</td>\n",
       "      <td>張信哲 (Jeff Chang)</td>\n",
       "      <td>董貞</td>\n",
       "      <td>何啟弘</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>o0kFgae9QtnYgRkVPqLJwa05zIhRlUjfF7O1tDw0ZDU=</td>\n",
       "      <td>197328</td>\n",
       "      <td>444</td>\n",
       "      <td>BLACKPINK</td>\n",
       "      <td>TEDDY|  FUTURE BOUNCE|  Bekuh BOOM</td>\n",
       "      <td>TEDDY</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>DwVvVurfpuz+XPuFvucclVQEyPqcpUkHR0ne1RQzPs0=</td>\n",
       "      <td>231781</td>\n",
       "      <td>465</td>\n",
       "      <td>SUPER JUNIOR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>dKMBWoZyScdxSkihKG+Vf47nc18N9q4m58+b4e7dSSE=</td>\n",
       "      <td>273554</td>\n",
       "      <td>465</td>\n",
       "      <td>S.H.E</td>\n",
       "      <td>湯小康</td>\n",
       "      <td>徐世珍</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>W3bqWd3T+VeHFzHAUfARgW9AvVRaF4N5Yzm4Mr6Eo/o=</td>\n",
       "      <td>140329</td>\n",
       "      <td>726</td>\n",
       "      <td>貴族精選</td>\n",
       "      <td>Traditional</td>\n",
       "      <td>Traditional</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        song_id  song_length genre_ids  \\\n",
       "0  CXoTN1eb7AI+DntdU1vbcwGRV4SCIDxZu+YD8JP8r4E=       247640       465   \n",
       "1  o0kFgae9QtnYgRkVPqLJwa05zIhRlUjfF7O1tDw0ZDU=       197328       444   \n",
       "2  DwVvVurfpuz+XPuFvucclVQEyPqcpUkHR0ne1RQzPs0=       231781       465   \n",
       "3  dKMBWoZyScdxSkihKG+Vf47nc18N9q4m58+b4e7dSSE=       273554       465   \n",
       "4  W3bqWd3T+VeHFzHAUfARgW9AvVRaF4N5Yzm4Mr6Eo/o=       140329       726   \n",
       "\n",
       "        artist_name                            composer     lyricist  language  \n",
       "0  張信哲 (Jeff Chang)                                  董貞          何啟弘       3.0  \n",
       "1         BLACKPINK  TEDDY|  FUTURE BOUNCE|  Bekuh BOOM        TEDDY      31.0  \n",
       "2      SUPER JUNIOR                                 NaN          NaN      31.0  \n",
       "3             S.H.E                                 湯小康          徐世珍       3.0  \n",
       "4              貴族精選                         Traditional  Traditional      52.0  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs=pd.read_csv('../data1/songs.csv')\n",
    "df_songs_extra=pd.read_csv('../data1/song_extra_info.csv')\n",
    "df_songs1=pd.merge(df_songs, df_songs_extra, how='left', left_on='song_id', right_on='song_id')\n",
    "df_songs.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>rating_times</th>\n",
       "      <th>song_length</th>\n",
       "      <th>genre_ids</th>\n",
       "      <th>artist_name</th>\n",
       "      <th>composer</th>\n",
       "      <th>lyricist</th>\n",
       "      <th>language</th>\n",
       "      <th>name</th>\n",
       "      <th>isrc</th>\n",
       "      <th>ranking_rating_times</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=</td>\n",
       "      <td>10885</td>\n",
       "      <td>219324.0</td>\n",
       "      <td>458</td>\n",
       "      <td>周湯豪 (NICKTHEREAL)</td>\n",
       "      <td>周湯豪</td>\n",
       "      <td>周湯豪\\崔惟楷</td>\n",
       "      <td>3.0</td>\n",
       "      <td>帥到分手</td>\n",
       "      <td>TWAG11600306</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=</td>\n",
       "      <td>10556</td>\n",
       "      <td>215144.0</td>\n",
       "      <td>458</td>\n",
       "      <td>周杰倫 (Jay Chou)</td>\n",
       "      <td>周杰倫</td>\n",
       "      <td>方文山</td>\n",
       "      <td>3.0</td>\n",
       "      <td>告白氣球</td>\n",
       "      <td>TWK971601308</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=</td>\n",
       "      <td>9808</td>\n",
       "      <td>287328.0</td>\n",
       "      <td>458</td>\n",
       "      <td>Eric 周興哲</td>\n",
       "      <td>Eric Chou</td>\n",
       "      <td>Eric Chou| Yi-Wei Wu</td>\n",
       "      <td>3.0</td>\n",
       "      <td>你，好不好？ (How Have You Been?)</td>\n",
       "      <td>TWA471602002</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=</td>\n",
       "      <td>9411</td>\n",
       "      <td>265508.0</td>\n",
       "      <td>465</td>\n",
       "      <td>田馥甄 (Hebe)</td>\n",
       "      <td>JerryC</td>\n",
       "      <td>徐世珍/吳輝福</td>\n",
       "      <td>3.0</td>\n",
       "      <td>小幸運 (A little happiness)</td>\n",
       "      <td>TWD951562101</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=</td>\n",
       "      <td>9004</td>\n",
       "      <td>227343.0</td>\n",
       "      <td>465</td>\n",
       "      <td>謝和弦 (R-chord)</td>\n",
       "      <td>R-chord</td>\n",
       "      <td>R-chord</td>\n",
       "      <td>3.0</td>\n",
       "      <td>謝謝妳愛我 (Thanks For Your Love)</td>\n",
       "      <td>TWA531657203</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        song_id  rating_times  song_length  \\\n",
       "0  reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=         10885     219324.0   \n",
       "1  T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=         10556     215144.0   \n",
       "2  FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=          9808     287328.0   \n",
       "3  wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=          9411     265508.0   \n",
       "4  PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=          9004     227343.0   \n",
       "\n",
       "  genre_ids        artist_name   composer              lyricist  language  \\\n",
       "0       458  周湯豪 (NICKTHEREAL)        周湯豪               周湯豪\\崔惟楷       3.0   \n",
       "1       458     周杰倫 (Jay Chou)        周杰倫                   方文山       3.0   \n",
       "2       458           Eric 周興哲  Eric Chou  Eric Chou| Yi-Wei Wu       3.0   \n",
       "3       465         田馥甄 (Hebe)     JerryC               徐世珍/吳輝福       3.0   \n",
       "4       465      謝和弦 (R-chord)    R-chord               R-chord       3.0   \n",
       "\n",
       "                           name          isrc  ranking_rating_times  \n",
       "0                          帥到分手  TWAG11600306                     0  \n",
       "1                          告白氣球  TWK971601308                     1  \n",
       "2   你，好不好？ (How Have You Been?)  TWA471602002                     2  \n",
       "3      小幸運 (A little happiness)  TWD951562101                     3  \n",
       "4  謝謝妳愛我 (Thanks For Your Love)  TWA531657203                     4  "
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 根据频次大小依次取歌曲信息\n",
    "df_items_sorted_by_item_freq_merge = pd.merge(df_items_sorted_by_item_freq, df_songs1, how='left', left_on='song_id', right_on='song_id')\n",
    "df_items_sorted_by_item_freq_merge['ranking_rating_times']=range(item_freq.count()) # 加上排名,数字越小，排在越前面\n",
    "\n",
    "df_items_sorted_by_item_freq_merge.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAKNCAYAAADvQlW0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XlYVHX///HXKAJKMIoKiOJaLqS5Z2iG5pZrWamFqbiQfrVMMbtzDS01zdxLy1xzq1uju02DNDVzwzXJ1DJxRyoR3MCF8/vDH3M5gjZHGRn0+biuc8mc85n3vM/IwIvPOXPGYhiGIQAAADgsX243AAAAkNcQoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaCA+8D8+fNlsVhksVi0du3aLNsNw9CDDz4oi8WiRo0aOaWHEydOKCoqSrt27XJK/dyS+dwmJCTkdit3XaNGjZz2/QK4OrfcbgDA3ePt7a05c+Zk+aW3bt06HTx4UN7e3k577BMnTmjUqFEqW7asatSo4bTHwd3z4Ycf5nYLQK5hBgq4j3Tq1EkrVqxQamqq3fo5c+YoJCREpUuXzqXOkOnChQu53YLDgoODFRwcnNttALmCAAXcR1588UVJ0tKlS23rUlJStGLFCvXo0SPb+5w+fVp9+/ZVyZIl5e7urvLly2vYsGFKT0+3G/ff//5X9erVk9VqVaFChVS+fHlbzbVr16pu3bqSpO7du9sOJ0ZFRd2018xDY7Gxserevbt8fX3l5eWltm3b6s8//8wyfu7cuapevbo8PT3l6+ur9u3b67fffrMbEx4ergceeEC//vqrmjRpIi8vLxUvXlyvvPKKXXBJSEiQxWLR/PnzszzOv/UtSbGxsXr66adVqlQpeXp66sEHH1Tv3r31999/242LioqSxWLRjh079Pzzz6tIkSKqUKHCvz4na9asUUREhIoWLSofHx917dpV58+fV2Jiojp27KjChQurRIkSev3113X58mXb/deuXZvtYdzs9vfPP//UCy+8oMDAQHl4eMjf319NmjSxOwSb3SG89PR0jR49WlWqVJGnp6eKFi2qxo0ba+PGjbd8zoC8hgAF3Ed8fHz0/PPPa+7cubZ1S5cuVb58+dSpU6cs49PS0tS4cWMtXLhQkZGR+vbbb/XSSy9pwoQJevbZZ23jNm3apE6dOql8+fJatmyZvv32W40cOVJXrlyRJNWqVUvz5s2TJA0fPlybNm3Spk2b1KtXr3/tuWfPnsqXL5+WLFmiKVOmaOvWrWrUqJHOnDljGzNu3Dj17NlTDz/8sL744gtNnTpVv/zyi0JCQvT777/b1bt8+bJatWqlJk2a6Msvv9Qrr7yijz76KNv9v10HDx5USEiIZs6cqZiYGI0cOVJbtmzR448/bhdoMj377LN68MEH9d///lezZs361/q9evWS1WrVsmXLNHz4cC1ZskQRERFq3bq1qlevruXLl6tbt256//33NX369Nvah1atWmn79u2aMGGCYmNjNXPmTNWsWdPueb/RlStX1LJlS7399ttq06aNoqOjNX/+fNWvX19Hjhy5rT4Al2UAuOfNmzfPkGTExcUZP/74oyHJiI+PNwzDMOrWrWuEh4cbhmEYDz/8sBEaGmq736xZswxJxueff25Xb/z48YYkIyYmxjAMw5g4caIhyThz5sxNe4iLizMkGfPmzTPVc/v27e3W//zzz4Yk45133jEMwzCSk5ONggULGq1atbIbd+TIEcPDw8MICwuzrevWrZshyZg6dard2DFjxhiSjA0bNhiGYRiHDh26aa+SjLfeeitLn4cOHcp2PzIyMozLly8bhw8fNiQZ//vf/2zb3nrrLUOSMXLkyH99Pq5/rFdffdVu/TPPPGNIMiZNmmS3vkaNGkatWrVstzP/73/88Ue7cTfu799//21IMqZMmXLLfkJDQ+2+XxYuXGhIMmbPnu3Q/gB5GTNQwH0mNDRUFSpU0Ny5c7Vnzx7FxcXd9PDdmjVr5OXlpeeff95ufXh4uCRp9erVkmQ7PNexY0d9/vnnOn78eI7127lzZ7vb9evXV5kyZfTjjz9Kujb7dfHiRVtPmYKCgvTkk0/aerxVzbCwMEmy1bxTSUlJ6tOnj4KCguTm5qYCBQqoTJkykpTlsKIkPffcc6bqt2nTxu52lSpVJEmtW7fOsv7w4cOmakuSr6+vKlSooPfee0+TJk3Szp07lZGR8a/3W7lypTw9PW/6/QTcSwhQwH3GYrGoe/fuWrRokWbNmqWKFSuqYcOG2Y79559/FBAQIIvFYrfez89Pbm5u+ueffyRJTzzxhL788ktduXJFXbt2ValSpVS1alW7c61uV0BAQLbrMh87898SJUpkGRcYGGjbnsnNzU1FixbN9jFuHHs7MjIy1Lx5c33xxRd64403tHr1am3dulWbN2+WJF28eDHLfbLr/VZ8fX3tbru7u990fVpamqna0rXvkdWrV6tFixaaMGGCatWqpeLFi6t///46e/bsTe/3119/KTAwUPny8asF9z6+y4H7UHh4uP7++2/NmjVL3bt3v+m4okWL6tSpUzIMw259UlKSrly5omLFitnWPf3001q9erVSUlK0du1alSpVSmFhYdq0adMd9ZqYmJjtuswQlPnvyZMns4w7ceKEXY/StfN0bgxKmY+RWcvT01OSspwo70jAio+P1+7du/Xee+/p1VdfVaNGjVS3bt0soe16NwZUZ7nZft14crsklSlTRnPmzFFiYqL279+vgQMH6sMPP9TgwYNvWr948eI6ceKEQ7NVQF5HgALuQyVLltTgwYPVtm1bdevW7abjmjRponPnzunLL7+0W79w4ULb9ht5eHgoNDRU48ePlyTt3LnTtl7KfgbmVhYvXmx3e+PGjTp8+LDt3V8hISEqWLCgFi1aZDfu2LFjWrNmTbY93lhzyZIlkmSr6e/vL09PT/3yyy924/73v//9a7+ZYShzfzN99NFH/3pfZytbtqwkZdmvr7766pb3q1ixooYPH65q1appx44dNx3XsmVLpaWlZfvuReBew4U0gfvUu++++69junbtqg8++EDdunVTQkKCqlWrpg0bNmjs2LFq1aqVmjZtKkkaOXKkjh07piZNmqhUqVI6c+aMpk6dqgIFCig0NFSSVKFCBRUsWFCLFy9WlSpV9MADDygwMFCBgYG37GHbtm3q1auXOnTooKNHj2rYsGEqWbKk+vbtK0kqXLiwRowYoaFDh6pr16568cUX9c8//2jUqFHy9PTUW2+9ZVfP3d1d77//vs6dO6e6detq48aNeuedd9SyZUs9/vjjkq6FoJdeeklz585VhQoVVL16dW3dutUWtG6lcuXKqlChgt58800ZhiFfX199/fXXio2N/df7OltAQICaNm2qcePGqUiRIipTpoxWr16tL774wm7cL7/8oldeeUUdOnTQQw89JHd3d61Zs0a//PKL3nzzzZvWf/HFFzVv3jz16dNH+/fvV+PGjZWRkaEtW7aoSpUqeuGFF5y9i8Ddk9tnsQNwvuvfhXcrN74LzzAM459//jH69OljlChRwnBzczPKlCljDBkyxEhLS7ON+eabb4yWLVsaJUuWNNzd3Q0/Pz+jVatWxk8//WRXa+nSpUblypWNAgUKZHk32816jomJMbp06WIULlzY9m6733//Pcv4Tz75xHjkkUcMd3d3w2q1Gk8//bTx66+/2o3p1q2b4eXlZfzyyy9Go0aNjIIFCxq+vr7G//3f/xnnzp2zG5uSkmL06tXL8Pf3N7y8vIy2bdsaCQkJDr0Lb+/evUazZs0Mb29vo0iRIkaHDh2MI0eOZLlv5rvw/vrrr5s+D9k9Jzf+P96sTub+Xu/kyZPG888/b/j6+hpWq9V46aWXjG3bttm9C+/UqVNGeHi4UblyZcPLy8t44IEHjEceecSYPHmyceXKFVutG9+FZxiGcfHiRWPkyJHGQw89ZLi7uxtFixY1nnzySWPjxo0O7SOQV1gM44aTGwDABcyfP1/du3dXXFyc6tSpkyM1w8PDtXz5cp07dy5H6gG4f3EOFAAAgEkEKAAAAJM4hAcAAGASM1AAAAAmEaAAAABMIkABAACYxIU0c0hGRoZOnDghb2/vu/axDAAA4M4YhqGzZ8+a/hxHAlQOOXHihIKCgnK7DQAAcBuOHj2qUqVKOTyeAJVDvL29JV37D/Dx8cnlbgAAgCNSU1MVFBRk+z3uKAJUDsk8bOfj40OAAgAgjzF7+g0nkQMAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAk9xyuwE4ZnLsgRypM7BZxRypAwDA/YwZKAAAAJMIUAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAm8VEu97mc+ogYiY+JAQDcP5iBAgAAMIkABQAAYBIBCgAAwCQCFAAAgEkEKAAAAJMIUAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTcjVArV+/Xm3btlVgYKAsFou+/PJLu+2GYSgqKkqBgYEqWLCgGjVqpF9//dVuTHJysrp06SKr1Sqr1aouXbrozJkzdmP27Nmj0NBQFSxYUCVLltTo0aNlGIbdmBUrVig4OFgeHh4KDg5WdHS0c3YaAADkebkaoM6fP6/q1atrxowZ2W6fMGGCJk2apBkzZiguLk4BAQFq1qyZzp49axsTFhamXbt2adWqVVq1apV27dqlLl262LanpqaqWbNmCgwMVFxcnKZPn66JEydq0qRJtjGbNm1Sp06d1KVLF+3evVtdunRRx44dtWXLFuftPAAAyLMsxo1TMbnEYrEoOjpazzzzjKRrs0+BgYEaMGCA/vOf/0iS0tPT5e/vr/Hjx6t379767bffFBwcrM2bN6tevXqSpM2bNyskJET79u1TpUqVNHPmTA0ZMkSnTp2Sh4eHJOndd9/V9OnTdezYMVksFnXq1EmpqalauXKlrZ+nnnpKRYoU0dKlSx3qPzU1VVarVSkpKfLx8cnJp0aSNDn2QI7UGdisolPqZlcbAABXd7u/v132HKhDhw4pMTFRzZs3t63z8PBQaGioNm7cKOnazJHVarWFJ0l67LHHZLVa7caEhobawpMktWjRQidOnFBCQoJtzPWPkzkms0Z20tPTlZqaarcAAID7g8sGqMTEREmSv7+/3Xp/f3/btsTERPn5+WW5r5+fn92Y7Gpc/xg3G5O5PTvjxo2znXdltVoVFBRkZvcAAEAe5rIBKpPFYrG7bRiG3bobtzsyJvOo5b+Nya52piFDhiglJcW2HD161IG9AQAA9wK33G7gZgICAiRdmx0qUaKEbX1SUpJttiggIECnTp3Kct+//vrLbsyNM0lJSUmS9K9jbpyVup6Hh4fdYUEAAHD/cNkZqHLlyikgIECxsbG2dZcuXdK6detUv359SVJISIhSUlK0detW25gtW7YoJSXFbsz69et16dIl25iYmBgFBgaqbNmytjHXP07mmMwaAAAA18vVAHXu3Dnt2rVLu3btknTtxPFdu3bpyJEjslgsGjBggMaOHavo6GjFx8crPDxchQoVUlhYmCSpSpUqeuqppxQREaHNmzdr8+bNioiIUJs2bVSpUiVJ1y5z4OHhofDwcMXHxys6Olpjx45VZGSk7RDda6+9ppiYGI0fP1779u3T+PHj9cMPP2jAgAG588QAAACXlquH8LZt26bGjRvbbkdGRkqSunXrpvnz5+uNN97QxYsX1bdvXyUnJ6tevXqKiYmRt7e37T6LFy9W//79be+ia9eund11paxWq2JjY9WvXz/VqVNHRYoUUWRkpO2xJKl+/fpatmyZhg8frhEjRqhChQr67LPP7N7dBwAAkMllrgOV13EdKOfV5vpSAABnueeuAwUAAOCqCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAkwhQAAAAJhGgAAAATCJAAQAAmOSW2w0At4MPKgYA5CZmoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEh8mDNyADyoGAPwbZqAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASVzGALiLnHWJhJyqm11tAEBWzEABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAkwhQAAAAJhGgAAAATCJAAQAAmESAAgAAMIkABQAAYBKfhQfglpz1+X0AkJcxAwUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgkktfifzKlSuKiorS4sWLlZiYqBIlSig8PFzDhw9XvnzXsp9hGBo1apQ+/vhjJScnq169evrggw/08MMP2+okJyerf//++uqrryRJ7dq10/Tp01W4cGHbmD179uiVV17R1q1b5evrq969e2vEiBGyWCx3d6eB+whXOQeQV7n0DNT48eM1a9YszZgxQ7/99psmTJig9957T9OnT7eNmTBhgiZNmqQZM2YoLi5OAQEBatasmc6ePWsbExYWpl27dmnVqlVatWqVdu3apS5duti2p6amqlmzZgoMDFRcXJymT5+uiRMnatKkSXd1fwEAQN7g0jNQmzZt0tNPP63WrVtLksqWLaulS5dq27Ztkq7NPk2ZMkXDhg3Ts88+K0lasGCB/P39tWTJEvXu3Vu//fabVq1apc2bN6tevXqSpNmzZyskJET79+9XpUqVtHjxYqWlpWn+/Pny8PBQ1apVdeDAAU2aNEmRkZHZzkKlp6crPT3ddjs1NdXZTwcAAHARLj0D9fjjj2v16tU6cODaNP/u3bu1YcMGtWrVSpJ06NAhJSYmqnnz5rb7eHh4KDQ0VBs3bpR0LYRZrVZbeJKkxx57TFar1W5MaGioPDw8bGNatGihEydOKCEhIdvexo0bJ6vValuCgoJydN8BAIDrcukA9Z///Ecv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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 前二十大流行歌曲\n",
    "popular_items_count_top_20 = df_items_sorted_by_item_freq_merge.iloc[0:20]['rating_times']\n",
    "popular_items_top_20_titles =  df_items_sorted_by_item_freq_merge.iloc[0:20]['name']\n",
    "\n",
    "objects = (list(popular_items_top_20_titles))\n",
    "y_pos = np.arange(len(objects))\n",
    "performance = list(popular_items_count_top_20)\n",
    " \n",
    "plt.rcdefaults()    \n",
    "plt.bar(y_pos, performance, align='center', alpha=0.5)\n",
    "plt.xticks(y_pos, objects, rotation='vertical')\n",
    "plt.ylabel('Rating Count')\n",
    "plt.title('Most popular music')\n",
    " \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x25910985ef0>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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AAAUExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQDFBAQAAACgmKAAAAADFBAUAAACgmKAAAAAAFBMUAAAAgGKCAgAAAFBMUAAAAACKCQoAAABAMUEBAAAAKCYoAAAAAMUEBQAAAKCYoAAAAAAUExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQDFBAQAAACgmKAAAAADFBAUAAACgmKAAAAAAFBMUAAAAgGKCAgAAAFBMUAAAAACKCQoAAABAMUEBAAAAKCYoAAAAAMUEBQAAAKCYoAAAAAAUExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQDFBAQAAACgmKAAAAADFBAUAAACgmKAAAAAAFBMUAAAAgGKCAgAAAFBMUAAAAACKCQoAAABAMUEBAAAAKCYoAAAAAMUEBQAAAKCYoAAAAAAUExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQDFBAQAAACgmKAAAAADFBAUAAACgmKAAAAAAFBMUAAAAgGKCAgAAAFBMUAAAAACKCQoAAABAMUEBAAAAKCYoAAAAAMUEBQAAAKCYoAAAAAAUExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQDFBAQAAACgmKAAAAADFBAUAAACgmKAAAAAAFBMUAAAAgGKCAgAAAFBMUAAAAACKCQoAAABAMUEBAAAAKCYoAAAAAMUEBQAAAKCYoAAAAAAUExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQDFBAQAAACgmKAAAAADFahoU7r///px1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ExQAAACAYoICAAAAUExQAAAAAIoJCgAAAEAxQQEAAAAoJigAAAAAxQQFAAAAoJigAAAAABTrU+sBAGBv0fKv36j1CN228tqP1HoEAGAf4wwFAAAAoJigAAAAABQTFAAAAIBiggIAAABQTFAAAAAAigkKAAAAQLFuBYWTTz45mzZt2m37li1bcvLJJ//NQwEAAAC9W7eCwn333ZeOjo7dtv/pT3/KAw888DcPBQAAAPRufUoW//znP6/++5e//GXWr19ffb5z587cfffdeetb39pz0wEAAAC9UlFQeNe73pVKpZJKpfKqlzbU19fnhhtu6LHhAAAAgN6pKCisXbs2nZ2dOfzww/Ozn/0sw4YNq+7r169fhg8fnrq6uh4fEgAAAOhdioLCoYcemiR56aWX3pBhAAAAgL1DUVB4uccffzz33Xdf2tvbdwsMV1111d88GAAAANB7dSso/Od//mf++Z//OUOHDs2IESNSqVSq+yqViqAAAAAA+7huBYV///d/z//7f/8vl112WU/PAwAAAOwF9uvOizZu3JgPfehDPT0LAAAAsJfoVlD40Ic+lHvuuaenZwEAAAD2Et265OFtb3tbrrzyyjz00EMZO3Zs+vbt22X/hRde2CPDAQAAAL1Tt4LCrbfemre85S1ZsmRJlixZ0mVfpVIRFAAAAGAf162gsHbt2p6eAwAAANiLdOseCgAAAMCbW7fOUPjoRz/6mvu//vWvd2sYAAAAYO/QraCwcePGLs937NiRRx99NJs2bcrJJ5/cI4MBAAAAvVe3gsLChQt32/bSSy9l5syZOfzww//moQAAAIDercfuobDffvvloosuyhe+8IWeOiQAAADQS/XoTRl/+9vf5sUXX+zJQwIAAAC9ULcueZg9e3aX552dnWlra8tdd92V8847r0cGAwAAAHqvbgWFVatWdXm+3377ZdiwYfn85z//V78BAgAAANj7dSso/OQnP+npOQAAAIC9SLeCwi7PPvtsfv3rX6dSqeTII4/MsGHDemouAAAAoBfr1k0Zt23blo9+9KMZOXJkjj/++Bx33HFpamrK+eefn+eff76nZwQAAAB6mW4FhdmzZ2fJkiX53//932zatCmbNm3K9773vSxZsiQXX3xxT88IAAAA9DLduuRhwYIF+e53v5sTTzyxuu1973tf6uvrc8455+Smm27qqfkAAACA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QhQVFaVJkyZ5LT//P6BJSUmqVq2a3G63oqOjNXjwYM+ynJwcjRgxQjExMXK73brpppv07rvvepZf6Nz6zjvvqEqVKp5zd54uXbqoT58+nunPP/9cjRo1UkBAgGrWrKnk5GSv83NB4xsFK+i1bPLkyUpISFBwcLBiYmI0YMAAHT161Gu91NRUVatWTUFBQbrvvvu8XoOl/P9tzc3N1ejRo1W1alW53W4lJiZq4cKF1+QxlkRFHXNt27bVrl27NHToULlcLrlcLs86K1asUOvWrRUYGKiYmBgNHjzYcz7O28f48eP16KOPKjQ0VNWqVdP06dMLrenzzz9X2bJlPeMzPT1dLpdLw4cP97R54okn9OCDD0ry/shDamqqkpOTtWHDBk+dqampnvX+/e9/67777lNQUJBuuukmffbZZ5dx9IpH27ZtNXjwYI0YMULly5dX5cqVlZSU5Fm+e/du3XvvvQoJCVFYWJh69Oihf/3rX5IufHzOvVrA5XJp3bp1Gj16tFwul5KSkgr87/bmzZt19913KywsTKGhoWrVqpXnPdWaNWvUoUMHVahQQeHh4WrTpo1++OEHz7rVq1eXJN13331yuVyeaadjOq+uTz/99IZ5/b3U90A1atSQJN16661yuVxq27atkpKS9P777+v//b//53lOpKWl5evvtLQ0uVwuLVmyRI0bN1ZQUJBatGihjIwMr9rGjh2rSpUqKTQ0VI899pief/55r/5MS0tTkyZNFBwcrLJly6ply5batWvX1T5kV54BhfjjH/9oderUsYULF9qOHTssJSXF3G63paWl2ZkzZ6x58+bWtWtXMzN76623LDw83Hbu3OlZX5JFRETYjBkzLCMjw1588UXz9fW1LVu2mJlZZmamSbL169ebmdkvv/xiQUFBNmDAANu6dastWLDAKlSoYKNGjfJss02bNhYSEmLDhw+3n376ybZu3Wq5ubnWsmVL69y5s61Zs8a2bdtmzzzzjEVERNjBgwev3QErJm3atLHQ0FAbM2aMbdu2zcaMGWM+Pj7WqVMnmz59um3bts2eeuopi4iIsGPHjpmZ2bhx46xevXpe2xk6dKi1bt260P306dPH7r33Xq/9/uEPf/BMx8bGWmhoqE2YMMEyMjJs6tSp5uvra4sWLfK0kWSVKlWyd99913bs2GE7d+60U6dO2csvv2yrV6+2n3/+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b18LDw+3smXL2lNPPWXPP/+8102ICrpBzrlatWqV71srbhRbtmyxjh07WsWKFc3tdlvt2rVt2rRpnuWzZ8+2xMRE8/f3t3Llylnr1q3t008/9SwfPny4RUREWEhIiPXs2dNef/31It3Q6+zZszZ27FiLjY01Pz8/q1atmuemfQWN7UOHDpkk+/bbb6/CUSiZjhw5Yg899JBnvLzyyite4+rccbxgwQJr2rSphYWFWXBwsDVr1szrZlAnTpywoUOHWlRUlPn7+1tcXJy99957nuUXO7ea/XqTsKioKJNU4DelLFy40Fq0aGGBgYEWFhZmTZo08fqmiYLGNwpW0Hl78uTJFhUVZYGBgdaxY0ebOXOmSbJDhw552rz77rtWtWpVCwwMtM6dO9trr712wfF69uxZS05OtipVqpifn581aNCgxN1072q60E0ZLzbmvv/+e7vlllvM7XbbuW+nV69ebR06dLCQkBALDg62W265xesmegW9Pp9/w7+CPPPMMybJfvzxR6/1Klas6PVe7PybMp48edLuv/9+K1u2rOdbBMwKHq/h4eGe5SVFQWPp3nvvtT59+piZ2a5du6xLly4WHBxsoaGh1r17d9u3b5+nbVGPz8Vuymj26zdN3XnnnRYUFGShoaHWqlUrz7n0hx9+sMaNG5vb7babbrrJ5s2bl++58Nlnn1lcXJyVKVPGYmNjzcz5mL7RXn8v9z3QjBkzLCYmxnx8fDzf/rF//37PGM47boXdlPHc8/P69etNkmVmZnrmjR492ipUqGAhISH26KOP2uDBg61Zs2ZmZrZv3z7r2rWr53U7NjbWXn75Zc/NkksSl9klfigPuAiXy6UFCxaoa9euxV0KCrF8+XK1bdtWv/zyi+fGjSWNmalOnTp64oknNGzYsOIuBwAAAMinQ4cOqly5smbNmlXcpVxRfOQBuAHl5ORoz549eumll9SjR48SGybs379fs2bN0j//+U/9/ve/L+5yAAAAAB0/flxvv/22OnbsKF9fX82ZM0fffPONFi9eXNylXXEECsANaM6cOerXr58SExNLdEoaGRmpChUqaPr06QV+1hAAAAC41lwul7788kuNHTtWOTk5io+P1/z589W+ffviLu2K4yMPAAAAAADAMb7rCQAAAAAAOEagAAAAAAAAHCNQAAAAAAAAjhEoAAAAAAAAxwgUAAAAAACAYwQKAAAAJUxqaqrKli1b3GUAAG5wBAoAAOCG43K59Je//KW4y1BSUpISExOLuwwAAC4JgQIAAHDs7Nmzys3NLe4yAABAMSJQAACglPjkk0+UkJCgwMBARUREqH379jp27Jhyc3M1evRoVa1aVW63W4mJiVq4cKFnvbS0NLlcLv33v//1zEtPT5fL5dLOnTsl/d8l9n/9619Vr149ud1u7dq1S5L03nvvqX79+nK73YqKitLAgQM92zl8+LAef/xxVapUSWFhYbrjjju0YcOGIj2eDRs26De/+Y1CQ0MVFhamRo0aae3atTp27JjCwsL0ySefeLX//PPPFRwcrCNHjujUqVMaOHCgoqKiFBAQoOrVq2vChAmSpOrVq0uS7rvvPrlcLs903jYaNWqkgIAA1axZU8nJyTpz5oxnucvl0jvvvKN77rlHQUFBqlu3rr7//nv94x//UNu2bRUcHKzmzZtrx44dF318qampSk5O1oYNG+RyueRyuZSamipJmjx5shISEhQcHKyYmBgNGDBAR48ezbeNv/zlL6pdu7YCAgLUoUMH7dmzp0jHFgCAK4FAAQCAUiArK0sPPvigHn30UW3dulVpaWnq1q2bzExvvPGGJk2apNdee00bN25Ux44d1aVLF23fvt3RPo4fP64JEyboz3/+szZv3qxKlSrprbfe0tNPP63HH39cmzZt0meffaa4uDhJkpnp7rvv1r59+/Tll19q3bp1atiwodq1a6f//Oc/F91f7969VbVqVa1Zs0br1q3T888/Lz8/PwUHB6tXr15KSUnxap+SkqIHHnhAoaGhmjp1qj777DN9/PHHysjI0AcffOAJDtasWeNpn5WV5Zn++uuv9dBDD2nw4MHasmWL3nnnHaWmpmrcuHFe+xkzZoweeeQRpaenq06dOvrd736nJ554QiNHjtTatWslyStUKUzPnj31zDPPqH79+srKylJWVpZ69uwpSfLx8dHUqVP1448/6v3339ff/vY3jRgxIl9/jBs3Tu+//76WL1+u7Oxs9erV66L7BQDgijEAAFDirVu3ziTZzp078y2Ljo62cePGec277bbbbMCAAWZm9u2335okO3TokGf5+vXrTZJlZmaamVlKSopJsvT09HzbfuGFFwqsacmSJRYWFmYnT570ml+rVi175513LvqYQkNDLTU1tcBlq1atMl9fX/vnP/9pZmYHDhwwPz8/S0tLMzOzQYMG2R133GG5ubkFri/JFixY4DWvVatWNn78eK95s2bNsqioKK/1XnzxRc/0999/b5Ls3Xff9cybM2eOBQQEXPTxmZmNGjXKGjRocNF2H3/8sUVERHim8/pj5cqVnnlbt241SbZq1aoi7RsAgMvFFQoAAJQCDRo0ULt27ZSQkKDu3btrxowZOnTokLKzs7V37161bNnSq33Lli21detWR/vw9/fXLbfc4pnev3+/9u7dq3bt2hXYft26dTp69KgiIiIUEhLi+cnMzCzSRwKGDRumxx57TO3bt9f//M//eK3TpEkT1a9fXzNnzpQkzZo1S9WqVVPr1q0lSX379lV6erri4+M1ePBgLVq06KL7W7dunUaPHu1Va//+/ZWVlaXjx4972p17DCIjIyVJCQkJXvNOnjyp7Ozsi+6zMN9++606dOigKlWqKDQ0VI888ogOHjyoY8eOedqUKVNGjRs39kzXqVNHZcuWddyvAABcKgIFAABKAV9fXy1evFhfffWV6tWrp2nTpik+Pl6ZmZmSfv3s/7nMzDPPx8fHMy/P6dOn8+0jMDDQazuBgYEXrCk3N1dRUVFKT0/3+snIyNDw4cMv+piSkpK0efNm3X333frb3/6mevXqacGCBZ7ljz32mOdjDykpKfr973/vqa9hw4bKzMzUmDFjdOLECfXo0UMPPPDARetNTk72qnXTpk3avn27AgICPO38/Pw8v+ftr6B5l3rTyl27dumuu+7SzTffrPnz52vdunV68803JeXvl/P7tbB5AABcDQQKAACUEi6XSy1btlRycrLWr18vf39/LVmyRNHR0fruu++82q5YsUJ169aVJFWsWFHSr/dhyJOenn7R/YWGhqp69epasmRJgcsbNmyoffv2qUyZMoqLi/P6qVChQpEeU+3atTV06FAtWrRI3bp187pvwkMPPaTdu3dr6tSp2rx5s/r06eO1blhYmHr27KkZM2Zo7ty5mj9/vufeDX5+fjp79my+ejMyMvLVGhcX5wldrjR/f/98daxdu1ZnzpzRpEmT1KxZM9WuXVt79+7Nt+6ZM2c892yQpIyMDP33v/9VnTp1rkqtAACcr0xxFwAAAC7fqlWrtGTJEt15552qVKmSVq1apQMHDqhu3boaPny4Ro0apVq1aikxMVEpKSlKT0/X7NmzJUlxcXGKiYlRUlKSxo4dq+3bt2vSpElF2m9SUpKefPJJVapUSZ06ddKRI0e0fPlyDRo0SO3bt1fz5s3VtWtXTZw4UfHx8dq7d6++/PJLde3a1ety/fOdOHFCw4cP1wMPPKAaNWrol19+0Zo1a3T//fd72pQrV07dunXT8OHDdeedd6pq1aqeZa+//rqioqKUmJgoHx8fzZs3T5UrV1bZsmUlyROEtGzZUm63W+XKldPLL7+se+65RzExMerevbt8fHy0ceNGbdq0SWPHjr2Ubrmo6tWrKzMzU+np6apatapCQ0NVq1YtnTlzRtOmTVPnzp21fPlyvf322/nW9fPz06BBgzR16lT5+flp4MCBatasmZo0aXJVagUAIJ/ivokDAAC4fFu2bLGOHTtaxYoVze12W+3atW3atGlmZnb27FlLTk62KlWqmJ+fnzVo0MC++uorr/W/++47S0hIsICAAGvVqpXNmzcv300Zw8PDC9z322+/bfHx8ebn52dRUVE2aNAgz7Ls7GwbNGiQRUdHm5+fn8XExFjv3r1t9+7dF3w8OTk51qtXL4uJiTF/f3+Ljo62gQMH2okTJ7zaLVmyxCTZxx9/7DV/+vTplpiYaMHBwRYWFmbt2rWzH374wbP8s88+s7i4OCtTpozFxsZ65i9cuNBatGhhgYGBFhYWZk2aNLHp06d7luu8mzlmZmaaJFu/fr1nXkE3uSzMyZMn7f7777eyZcuaJEtJSTEzs8mTJ1tUVJQFBgZax44dbebMmV7bzOuP+fPnW82aNc3f39/uuOOOAm/KCQDA1eIyO+cDkwAAACXI7Nmz9Yc//EF79+6Vv79/cZcDAMANhY88AACAEuf48ePKzMzUhAkT9MQTTxAmAABQDLgpIwAAKBb169f3+orGc3/y7u9QmFdeeUWJiYmKjIzUyJEjr1HFzl3OYwQA4HrHRx4AAECx2LVrV4FfTylJkZGRCg0NvcYVXXk3wmMEANy4CBQAAAAAAIBjfOQBAAAAAAA4RqAAAAAAAAAcI1AAAAAAAACOESgAAAAAAADHCBQAAAAAAIBjBAoAAAAAAMAxAgUAAAAAAODY/weWAl43Qvh15AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1200x1000 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#查看事件触发类型\n",
    "plt.figure(figsize=(12,10))\n",
    "sns.countplot(train['source_system_tab'],hue=train['target'])\n",
    "#plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0,0,'online-playlist'),\n",
       " Text(0,0,'local-playlist'),\n",
       " Text(0,0,'local-library'),\n",
       " Text(0,0,'top-hits-for-artist'),\n",
       " Text(0,0,'album'),\n",
       " Text(0,0,'song-based-playlist'),\n",
       " Text(0,0,'radio'),\n",
       " Text(0,0,'song'),\n",
       " Text(0,0,'listen-with'),\n",
       " Text(0,0,'artist'),\n",
       " Text(0,0,'topic-article-playlist'),\n",
       " Text(0,0,'my-daily-playlist')]"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBcAAAOiCAYAAAArHD95AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3X+UlnWd//HXHeg0FNyiOTOOSZCRSZKZtDjsJmTxo1Jza5OWdtRTiS3uUaJVw5SvcDYINRYPbGa1pZaanVy03S0E2oQMQTTHyFS08Fc6YgUz/gTT+/uHh/twCwpygTPA43HOnON9XZ/7ut6D/HM/ua7rLlUqlUoAAAAAttMbunoAAAAAYNcmLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIT27egBqvfjii3n00UfTu3fvlEqlrh4HAACA3VylUsmTTz6Z5ubmvOEN23cNgrjQzTz66KM56KCDunoMAAAA9jAPP/xw3vrWt27Xe8WFbqZ3795JXvqf2qdPny6eBgAAgN1dZ2dnDjrooOrn0e0hLnQzG2+F6NOnj7gAAADA66bIrfke6AgAAAAUIi4AAAAAhYgLAAAAQCGeuQAAAMAe74UXXsjzzz/f1WPsFHvttVd69OixU88hLgAAALDHqlQqaW9vz7p167p6lJ1qn332SVNTU6GHNr4acQEAAIA91saw0NDQkF69eu20D99dpVKp5JlnnsmaNWuSJAcccMBOOY+4AAAAwB7phRdeqIaF/fbbr6vH2Wnq6+uTJGvWrElDQ8NOuUXCAx0BAADYI218xkKvXr26eJKdb+PvuLOeKyEuAAAAsEfb3W6F2JKd/TuKCwAAAEAh4gIAAABQiLgAAAAAr2LEiBGZOHFiV49RdcEFF+S9731vV49RQ1wAAACAnWzDhg1dPcJOJS4AAADAKzjllFOyePHiXHLJJSmVSimVSvn973+fz33ucxkwYEDq6+tzyCGH5JJLLtnsfSeccEJmzJiR5ubmvPOd70ySPPbYY/nYxz6W+vr6DBgwIFdffXX69++f2bNnV9/b0dGR8ePHp6GhIX369MkxxxyTO++8M0ly+eWXZ+rUqbnzzjur81x++eWv25/HK+nZ1QMAAABAd3XJJZdk1apVOeywwzJt2rQkSd++ffPWt741P/rRj/KWt7wlS5cuzfjx43PAAQfkxBNPrL735z//efr06ZOFCxemUqkkSU466aT86U9/yk033ZS99torkyZNypo1a6rvqVQq+djHPpZ99903P/3pT1Mul3PZZZflQx/6UFatWpWxY8fmt7/9bebPn59FixYlScrl8uv4J7Jl4gIAAAC8gnK5nL333ju9evVKU1NTdfvUqVOr/z1gwIAsXbo0P/rRj2riwpve9KZ85zvfyd57750kueeee7Jo0aKsWLEiQ4YMSZJ85zvfycCBA6vv+cUvfpGVK1dmzZo1qaurS5JcfPHFuf766/PjH/8448ePz5vf/Ob07NmzZp6uJi4AAADAa/TNb34z3/nOd/Lggw/m2WefzYYNGzZ7yOLgwYOrYSFJ7r333vTs2TPve9/7qtve8Y53pG/fvtXXt99+e5566qnst99+Ncd69tln8/vf/34n/TbFiQsAAADwGvzoRz/KF7/4xXz9619PS0tLevfunYsuuijLly+vWfemN72p5vXGWyNebtPtL774Yg444IDcdNNNm63bZ599ig+/k4gLAAAA8Cr23nvvvPDCC9XXv/zlLzNs2LBMmDChum1brip417velb/+9a+54447cuSRRyZJ7r///qxbt6665n3ve1/a29vTs2fP9O/ff5vm6Q58WwQAAAC8iv79+2f58uV54IEH8qc//SnveMc7ctttt+XGG2/MqlWrcv7552fFihVbPc673vWufPjDH8748eNz66235o477sj48eNTX1+fUqmUJPnwhz+clpaWnHDCCbnxxhvzwAMPZOnSpTnvvPNy2223VedZvXp12tra8qc//Snr16/fqb//thAXAAAA4FX867/+a3r06JFBgwZl//33z5gxY/KJT3wiY8eOzdChQ/PnP/+55iqGV3PllVemsbExRx99dP7+7/8+p556anr37p03vvGNSZJSqZSf/vSnOfroo/PZz34273znO/PpT386DzzwQBobG5Mkn/zkJzNmzJh88IMfzP77759rrrlmp/3u26pUeaWbPugSnZ2dKZfL6ejoSJ8+fbp6HAAAgN3Wc889l9WrV2fAgAHVD/evt0ceeSQHHXRQFi1alA996EM77Tyv9rvuiM+hnrkAAAAAr5P/+7//y1NPPZXBgwfnsccey9lnn53+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ZePTDekWOjs7Uy6X09HR4fkL7LFe71K8qe2pxgAA7Jqee+65rF69OgMGDMgb3/jG6vZd4cqFTZVKpa1eufBKv2uyYz6HdttnLgAAAAC7BnEBAAAAKERcAAAAAAoRFwAAAIBCxAUAAACgkJ5dPQAAAADw2jz11FO5//77q69Xr16dtra27LvvvunXr9/rPo+4AAAAALuY2267LR/84AerrydNmpQkOfnkk3P55Ze/7vOICwAAALCJflNWdvUIWzVixIhUKpWuHqPKMxcAAACAQsQFAAAAoBBxAQAAAChEXAAAAAAKERcAAADYo3WnByPuLDv7dxQXAAAA2CPttddeSZJnnnmmiyfZ+Tb+jht/5x3NV1ECAACwR+rRo0f22WefrFmzJknSq1evlEqlLp5qx6pUKnnmmWeyZs2a7LPPPunRo8dOOY+4AAAAwB6rqakpSaqBYXe1zz77VH/XnUFcAAAAYI9VKpVywAEHpKGhIc8//3xXj7NT7LXXXjvtioWNxAUAAAD2eD169NjpH8B3Zx7oCAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABTSpXFhyZIl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/i1f/epXc8455+zoeQAAAIBdzBu2501r167Npz71qR09CwAAALAL2q648KlPfSoLFizY0bMAAAAAu6Dtui3iHe94R84///wsW7YsgwcPzl577VWz/4wzztghwwEAAADd33bFhW9961t585vfnMWLF2fx4sU1+0qlkrgAAAAAe5DtigurV6/e0XMAAAAAu6jteuYCAAAAwEbbdeXCZz/72Vfd/93vfne7hgEAAAB2PdsVF9auXVvz+vnnn89vf/vbrFu3Lsccc8wOGQwAAADYNWxXXJg3b95m21588cVMmDAhb3/72wsPBQAAAOw6dtgzF97whjfki1/8Yv793/99Rx0SAAAA2AXs0Ac6/v73v89f//rXHXlIAAAAoJvbrtsiJk2aVPO6Uqnksccey//+7//m5JNP3iGDAQAAALuG7YoLd9xxR83rN7zhDdl///3z9a9/favfJAEAAADsXrYrLvziF7/Y0XMAAAAAu6jtigsbPfHEE7n33ntTKpXyzne+M/vvv/+OmgsAAADYRWzXAx2ffvrpfPazn80BBxyQo48+Oh/4wAfS3Nycz33uc3nmmWd29IwAAABAN7ZdcWHSpElZvHhx/vu//zvr1q3LunXrcsMNN2Tx4sX50pe+tKNnBAAAALqx7bot4rrrrsuPf/zjjBgxorrtox/9aOrr63PiiSfm0ksv3VHzAQAAAN3cdl258Mwzz6SxsXGz7Q0NDW6LAAAAgD3MdsWFlpaW/L//9//y3HPPVbc9++yzmTp1alpaWnbYcAAAAED3t123RcyePTsf+chH8ta3vjWHH354SqVS2traUldXlwULFuzoGQEAAIBubLviwuDBg3PfffflBz/4Qe65555UKpV8+tOfzmc+85nU19fv6BkBAACAbmy74sKMGTPS2NiYU089tWb7d7/73TzxxBM555xzdshwAAAAQPe3Xc9cuOyyy/Kud71rs+3vfve7881vfrPwUAAAAMCuY7viQnt7ew444IDNtu+///557LHHCg8FAAAA7Dq2Ky4cdNBB+dWvfrXZ9l/96ldpbm4uPBQAAACw69iuZy58/vOfz8SJE/P888/nmGOOSZL8/Oc/z9lnn50vfelLO3RAAAAAoHvbrrhw9tln5y9/+UsmTJiQDRs2JEne+MY35pxzzsnkyZN36IAAAABA97ZdcaFUKmXmzJk5//zzc/fdd6e+vj4DBw5MXV3djp4PAAAA6Oa2Ky5s9OY3vznvf//7d9QssFt6aNrgLjt3vykru+zcAADAnmO7HugIAAAAsJG4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFiAsAAABAIeICAAAAUIi4AAAAABQiLgAAAACFdPu48Mc//jH/9E//lP322y+9evXKe9/73tx+++3V/ZVKJRdccEGam5tTX1+fESNG5K677qo5xtq1a9Pa2ppyuZxyuZzW1tasW7euZs3KlSszfPjw1NfX58ADD8y0adNSqVRq1lx33XUZNGhQ6urqMmjQoMybN69m/7bMAgAAALubbh0X1q5dm7/927/NXnvtlZ/97Gf53e9+l69//evZZ599qmsuvPDCzJo1K3Pnzs2KFSvS1NSUkSNH5sknn6yuGTduXNra2jJ//vzMnz8/bW1taW1tre7v7OzMyJEj09zcnBUrVmTOnDm5+OKLM2vWrOqaW265JWPHjk1ra2vuvPPOtLa25sQTT8zy5ctf0ywAAACwu+nZ1QO8mpkzZ+aggw7K9773veq2/v37V/+7Uqlk9uzZ+cpXvpJPfOITSZIrrrgijY2Nufrqq3Paaafl7rvvzvz587Ns2bIMHTo0SfLtb387LS0tuffee3PIIYfkqquuynPPPZfLL788dXV1Oeyww7Jq1arMmjUrkyZNSqlUyuzZszNy5MhMnjw5STJ58uQsXrw4s2fPzjXXXLNNswAAAMDuqFtfufCTn/wkQ4YMyac+9ak0NDTkiCOOyLe//e3q/tWrV6e9vT2jRo2qbqurq8vw4cOzdOnSJC9dcVAu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Zoyef/5566Rs6dKlmj9/vtOyCdeYN2+e0+tDhw4pICBAS5culZR2LL1nzx69+eab+vLLLyWl7SOmTp2q1157Lcv2B1npjTfecHr9559/qn79+vrwww8lSX/88Yc2bNigZ555Rm+99Za1rYyKitLHH39s61iNcAFZLiYmRsHBwU4LbHx8vMLCwjRgwAAtWLBAHTt2VJMmTdS8eXOVK1dOPXr0yPQ9OWkjcC0dOnTQrFmzJP1f8hgREaGQkBBJae04adIk+fv7q0iRItbI/AkJCTpz5oz1GXc9ibudlixZIofDoXvvvVd79uyxpl+9zKxfv14DBgzQAw88wBXC67B582aFhYVlaseQkBC1b99ey5cvV9u2bRUcHKwuXbqoYMGC6tevX6bvccd198qVK0pISNCgQYNUqlQpBQYGOr3/559/6uGHH1bTpk01depUF9USkjR9+nTVrl1bqamp1nbu559/Vq1atRQZGal169bpP//5jwICAlSpUiWVLVs208GndPuXw19++UUlSpTQgw8+aE3btWuXnnjiCQUEBGj27NmS0rbZ9evXV7ly5VSjRg2FhYU5PQHoTjZmzBjdc889KlWqlNq2bWtdQY+IiFC1atXUsGFD9enTR3Xr1tV9990nSerbt6+aNm3qympnC+ljkJw9e1YlSpRQ1apV5eHhYQXF6ZYsWWIdjx07dswFNb09UlNT9fPPP6tatWr6/fffnd7r3r27GjdurF9//VWPP/64HnzwQdWpU0clSpRQp06dXFRjXMvcuXPVsGFDpaSkWGH/vn37VLlyZX3++edavXq1+vXrp8DAQJUrV04BAQGZlnHJPY9LbtbatWtVv359p7/pzz//1P3336/XXntNkZGRevTRR9WwYUMFBQWpatWqVpiW0c22CeECslT6iW7Ge9rS7/l59dVX1bRpU+XNm1djx461BhYJDw9X//79XVNhF5o1a5bVfTz96lVkZKRKliyphx9+WJUrV1b37t01adIkzZgxQw6HI9P9j3fqVZstW7bokUceUd68efX9999Lcg5ZMrbL+vXrVbp06b/t0g9n6W33+eefW12558+fr4YNGyp//vwaM2aM1ebjx49X165ds0XAlX6gHRcXp+HDh8vHx0fjx493KvPnn38qNDRUrVq1cvtBKXOyy5cvW8tUTEyMpLQTpEaNGikoKEi5cuXS4MGDtXz5ch09elTBwcF65513sryeCQkJ+uKLL+Tv769mzZpZ0/fs2aOnnnpKVapU0fvvv29N/+CDDzRhwgRFRETckQMWX23BggUqV66cFi5cqEWLFqlKlSqqVauWdaV4+fLlev7559W2bVsNHTrU6mnUvXt3DRw4MFtsd1zlxRdf1OTJk62r8AsXLpTD4VCFChV08ODBTD2ylixZombNmqlOnTpO42HlBOnb/p07d1r7tKVLl6p+/fry8PDQww8/rM8++0yS9PHHH6tevXr0KHIjf/31l3USvHHjRmt6SEiIKlSooNy5cys8PFwrV67UhQsXVL9+/UxX9XOa1NRUax1evny5NX3QoEEKDAxU7ty5NWrUKH333XeSpG7dujn1EreLcAFZpmfPnlqwYIF1wnzkyBE5HA517NjROgg4cuSI0zgCkvTggw/e9KAi2dGmTZucXk+ZMkWjRo3SiRMndPbsWb3//vtq3bq1PvjgA+te75iYGDVo0CBT290J/q5b+vbt29WqVSsVK1bMOgHJmMJmDBgCAgKcDvLhLDU11eneu7i4OOXPn189evSwDvTj4+OtwZHSNW3aNFusu9HR0apSpYo1KvjRo0c1ePBgK+XP6MSJE073zCPrvPTSS9b4KJL07bffyuFwWM/oPnXqlFauXJlpG3r//ffr3XffzdK6Ztwuffnll6pevbo6dOhgTdu9e7cVMKT3UMP/WbZsmaZPn2717pDSujFXr15dNWvWdApf0tv6xIkTGjt2rIoWLZojBxq8lV555RVrv5iamqq1a9fqww8/VMWKFVWnTh3t2LEj08WJJUuWKCwsLNNV/uwoNTVVV65csf7Gc+fOyc/PTx07drSeKnXmzJlM25KBAweqXbt2DLTqBsLDw51C/o0bN8rhcDg93WTFihVOtxFLUuPGjbN0MN+s9MQTTzg98WH//v1yOBzq3bu3NW3Xrl1OT06T0oKYMWPG3LJ6EC4gy4SFhalo0aJatmyZFTBs3LhR3t7eeuihh5weE3bu3Dlt3bpVYWFhqlGjxh1zBWL8+PHWSOfpRo8eLR8fH7388ss6deqUpP+7Cp+SkqJLly6pTZs2evDBB++4+78z/r3R0dHasWOH06MQd+zYoXbt2unuu+++ZsAgSXPmzNFdd93lNBo0nKUvd1La/XjJyclauXKlypcvr969e1sDgElp9z6vW7dOYWFhqlmzZrZYd7///nuFhISoZs2a1r23R44c0eDBg++IqxzZQVxcnDw8PNSyZUv99ddfktKWtWeffVZ58uSxbntIP1m4ePGifv/9d7Vs2VK1a9fO8uUwvR7ffvut+vfvr8DAQDkcDrVu3doqkx4wBAQEaNq0aZk+e6f666+/lD9/fqcThfQ2OXPmjAICAhQUFOS03Tl16pQef/xx+fv7czvJP7h62fr222/1yiuvWOM7nT17VhUqVFCdOnW0e/duq3z6E3EuXbqUtRW+xTIOYJkuOjpaFy9e1Jo1a1SpUiU9+uijmZahmJgYDRs2TEWKFLH2EXCd2NhYlSpVSrVr17Z6kfzxxx965ZVXVKxYMb388stO5S9cuKCDBw+qVatW2ea45EYlJSWpQYMG8vX11ZYtWySlLe+fffaZChcurCeeeMKp/Llz57R79261atXqlp9nES7gtst4Ati9e3cVLlxYUVFRVhfGTZs2qUiRIuratau1kVi2bJnatWuntm3bWldMc9L9UH9n+/btatGihVq2bKnIyEhr+quvvqoyZcpowoQJ1tgAly5d0oIFC9S0aVMFBgbecYM3ZjxIeu6551S1alWVK1dOFStW1Ouvv269t337dnXo0EFly5a95kHntm3bMqW4+D/r169X0aJF9ccff+jZZ5+Vn5+fNUr7ypUrVbZsWfXp08c60F+5cqV69erltO662478WidvGzZsUJs2beTv7+8UMISHh6ty5cp66623srqauMrevXvl5+en0NBQ62To4sWLGjVqlHLlymUNnpiSkqK33npLjRo10gMPPOCyfciqVavk4eGht99+W1FRURo7dqz8/PzUvHlzq8yePXvUu3dv1a1bl1ttMti7d6/8/f3VsGFD6z7/jAFDiRIl1KdPH6fP/P777/Qqug5X7zsLFy6sN99809qunz17Vvfee6/q1aunzz77TGPHjpXD4cgRPRaktJPQqlWr6tChQ1q5cqUKFixo9VBYs2aN7rnnHvXo0cO6UPHDDz9o4MCBqlWrltW7Da4XExOjwMBA1ahRwzp3OH78uCIiIlSoUCGnR7HPnj1bgYGBCgkJydHnFAkJCWrfvr1KlSqlH3/8UVLa/jAyMlIFChRwusV84cKFaty4sVq2bHnL24RwAbddSkqK087skUce+duAoVu3bta0rVu3WifK7nZycjukr9S7d+9W8+bN1aJFCy1ZssR6/+WXX9bdd9+tCRMm6NixYzp79qzee+89Pfvss1b73AntdLUJEyaoRIkS+u6773T06FENGjRIDodDzz//vFVmx44dCg4OduqWjOuze/dude7cWcWKFVORIkWscCt9eU0PGB5//HH98ssvSklJ0d69e91+3d26dWumE5H169erbdu2qlatmtWtOjY2ViNHjuRxky6U8YBn7969Kl26tFPAcOHCBStgWLhwoaS0LvSffvqpy55OcuXKFT311FPq2bOnNS0xMVGRkZEqU6aM2rRpY03fu3dvjhoo72YlJyc7/Z/27Nmj0qVLO/VWST+WuHDhwt/e5oZ/t2nTJqu36HPPPSc/Pz9FRERYAcO5c+dUp04dBQYGqnz58oqOjnZldW+pn376SV26dJG3t7dy585tXchJX54yBgw//fSTUlNTtW3btkxPy4BrpP+fUlNTtW/fPlWvXt0pYDh27JgVMGS80PTf//7X7Z9WdbMybguTk5PVunVr+fj4WGOJpaSkaOnSpZkChu++++62HKsRLiDLfPzxx9bvXbt2zRQwbN68Wd7e3goJCbFum5DunCvxGR04+nEmrgAAIABJREFUcEDNmzdXWFhYpoDBz89PL7/8sk6ePOnUNjkxhb2WjAeRMTExatasmdVl88svv1SRIkXUvXt3eXh46MUXX7TK/vzzz3fksnSzMi5PL7zwghwOh0qWLGmN65GUlGS1Z/otEu3atdPhw4etz7lre//5559q3Lix6tevn+kpId98840qVapkdQuW7px1y92lX4mJiYmRr69vpoBh9OjRyp07t9N9+pLr/n/dunVTgwYNnKYlJSVp2LBhcjgcaty4sUvq5Y4mTZqkRx55RPfdd58mTpxodevds2ePSpUqpVatWln/64z7ANbNG5eSkqKKFSs63aJzrYAhISFBP/30k9M4J9lZxuVm7ty5cjgcKly4sH766SdJaetmxoChUqVKatOmjfU+3MuaNWskpT0ZokaNGtcMGIoWLZppLIGcvM1YvHixpLRlvU2bNpkChqioKBUuXDjTE09u9bEa4QKyxJkzZ+Tl5eV0H9Sjjz6aKWBYu3atwsLC3Pak5HZ7++23rRHqt2/frubNmys0NNQpYHjllVeu+bioO0HGg4P0AaemTJmiixcvau3atfL19dWMGTOUnJysrl27yuFw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p9S8eXPNnz9fUlovvTVr1ug///mPFi9erO7du6tjx44KDg5W79696X12CyxevFhDhgxRvnz59NJLLykyMlIhISHW+E3nz5/Xli1brN4NOUH69jwqKkr33HOP/P39lS9fPvXp00dHjx5VbGysqlevrrp16zK2jhvKuE2/dOlSpv3DsWPH9Mwzz6hJkyYqVKiQihcvrkceecQVVc0yGdvg5MmTOn/+vFPwGh8fr9mzZ6tDhw4qXry4SpYsqaCgIJ06dUpS1h8PEy7AlowL/GuvvaagoCBVr15dDRo0uOaJyLfffqspU6Yob968ioiIyMqqulTGdvrqq6+0cOHCaz4hY+/evRo2bJhatWolh8OhgQMH3lGPwhs7dqxmzpxpvR46dKh8fHxUvHhxlSlTRu3bt1diYqKktMF87rvvPj311FPcw2zTqFGj5Ovrqx49eqhz584qVKiQ5s2bZ3WTPXTokCpXrqyqVatao/K7o9jYWAUEBDgdNF68eFGTJk1Srly5rJGl07Vp00aPPfbYHbN+uaOM28apU6eqU6dO6tSpU6YeJSkpKUpMTNTLL7+s1q1by8vLSzt37szq6kpKewrEiy++aA0Ml5qaqqSkJIWEhOiVV16xyg0cOFDLli3Tn3/+6ZJ6upvTp0/L19dX48aN07p169StWzfVq1dPQUFBKlOmjGbMmKErV644DcRGz4Wbk3G9io+PV1RUlMqWLat+/fqpVq1aKlWqlPbt2+fCGt5eX331lYoUKaJZs2YpMTFRK1askMPhULdu3RQXF6fY2FjVrl1bFStW5FGTbiTjcvvOO++offv2atOmjcaMGeO0n75y5YqSkpL03nvvqV27dsqbN6/VOyenydgmb775pho1aqR69eqpQ4cO17yVadmyZRo1apS8vLw0bdq0rKyqhXABNy3jAj9u3DiVKlVKH3/8sTZv3qzKlSurdu3amUZsTzdjxgzVqFHDra+E3ioZN4ijR49WqVKlVLduXXl5eal3797W82fTJSUl6dKlSxo5cqTuuecenT59Oqur7BIHDx5Uy5Yt1ahRIy1cuFA//vij/P39tXnzZu3atcsaPfyBBx6wPjNt2jTdfffdmjhxousqns198MEH8vPzU3R0tCRp/fr1cjgcKliwoGbOnGntvH755Rd16dLF7a8ixsXFqWrVqk4BQ3x8vHWLRO/evfX8889r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VKxYETNmzICenh5++OEHGBoaYvHixQWmYSkIgqBpPpSUNzExEd7e3tDR0UFAQACaNGmC27dvIzAwEPv374e5uTmsrKwQEhICXV3dApVUOiYmBr169YKjoyOGDRumktRy586d+N///ifyYH1hIrggCILwnpSUFPzwww9IS0uDnp4eunXrhm7dugEADh06hP3792P9+vWoXLkySpYsiT179kBXV1fj9osW1Gv37t14/PgxdHR00K9fPwC522vVr18f2tra2LFjBypVqgTgz4DE8+fPsWDBAgQFBeHMmTNiv25BEIRvlHKgOTExEcWLF0d2djYMDQ3x+PFjfP/99yhUqBACAgLg4eEBIHc2pZGRkUrOqIISWFCIjo5G37594eDggOHDh+epB0Vb7csSwQVBEISPUKzhe/v2LXr16iUFGIDcil5fXx/FixeHTCYrkBW48OUkJSXB0tISb9++RUBAACZNmiSNYKWkpKB+/frQ09NDSEgIatasCSB3xs1PP/2ECxcuYNOmTahdu7aaf4UgCILwbyjPWJg4cSL27duHtLQ01KxZE35+fmjatKkUYNDX18fYsWPh6empMsuhIG9FHB0djf79+8PS0hKzZs1C+fLl1V2kAkPM2xUEQfgIMzMzBAYGokiRIli/fj1CQkIgl8vRsGFDLF68GCVKlJASAonAgvBfvB/nL1WqFH777TfY2Njg8OHDePLkCWQyGUiiRIkSiIiIwP379zF//nzpO8bGxggICMCRI0dEYEEQBOEblZOTIwUFVq1ahaCgIIwYMQI9e/aEnp4eWrdujbCwMJQpUwa7d+9GVlYWRo4cicjISJW/U1ADCwBgZ2eHwMBAFCtWDJaWluouToEiZi4IgiD8jbi4OPz000/4/fffkZGRgSJFiuDy5csoVKiQuosmaADlqa+KbcQUwapr166hWbNmqFWrFtavX49SpUpJo1FpaWnQ19eXpncW5FEqQRAETXPu3DmEhITA1dUVvXr1AgA8ffoU06dPx+rVqxEeHo66devi8ePHCAgIQFBQkJju/x5FvShyYX09IrggCILwCRITE3H58mU8ffoUPXr0gI6OjlgKIfxnyg2euXPn/l979x5UVbXAcfx3BDmBIuRBENSBUqgkAyoIZUIJNCnH8ZE55giBSjQ+mvFB5hOL8VFDWlqNUx0we1gxahjkpBhi+IZwfDU6DpAKiKagpKIczv3D67kS3tS4l4d9PzP8wdpr7732+YOz+O310L59+3T06FGNGTNG/fv3V3BwsA4ePKiBAwcqKChIa9askclkahAkMH8UAO4tubm5mjBhgqqqqvTuu+8qJibGdqy0tFQxMTGKjo5WUlJSg3+a+T5ojOC9eRHhAMAd8PT0tO0lbW9vL4vFQrCAJrvRKXzjjTe0aNEiPfzww/L399e3336radOmaevWrXr00Ue1ZcsWHTx4UNHR0aqurm7QUaIjCQD3lgEDBig2NlbS9V2DTp06ZTvm7e2t++67T7/++mujt/F8HzRGsNC8CBcA4G/gCxz/KwcOHND69euVkZGhBQsW6LPPPtOSJUvUvXt3LVmyRMePH5e/v782btwoLy8vOTs7t3STAQD/I/X19bcsnzdvnl577TWdOHFCy5Yt09mzZyVJV65cUVVVlbp06dKczQTuCK/dAABoRn+e+1lXV6fTp083GAkTERGh2tpaJSYm6uTJk+rZs6cCAgK0YcOGW14DAND23Py33Gw2a+/evTIajfL399fEiRM1b9481dXV6fPPP9cPP/yg0NBQVVVVqaamRosWLWrh1gON0TMBAKCZ3NyRXLdunUpLS+Xi4iIPDw+VlpZK+s/OEYMHD5bRaNT27dsbXYdgAQDavht/y5OSkjRr1ixVV1fr2LFjmjRpkm1axMKFCxUfH6+KigqVlJQoKipKhw4dUvv27W2LAAOtBb0TAACagdVqtXUkZ8+eralTp2rjxo168MEHFRoaqunTp2vHjh22+ufPn5eTk5N69OjRUk0GAPwf3DwVIj8/X2vWrFFGRoa+/PJLfffdd8rKylJmZqYSExMlSXPmzNHUqVNVW1urkydPqrq6WhJTNNH6sFsEAADN6K233tL777+v7Oxs+fr6ytXVVZI0evRobdu2TS+99JLc3NyUm5uriooKFRYWsngoANwjbt69oK6uTps2bdLUqVN14MABdejQwVYvIyNDCQkJ2rBhg8LDwyVJCxYsUHZ2tvr166e5c+ey7gJaHXorAAA0k3PnzikvL0/Lly9XcHCwTp06pV9++UVr167VyJEjZW9vr+LiYu3Zs0e9evVSVlaWbXcS3lABQNv2008/qaysTGPHjlViYqKcnJwUExOjyspK5efna9CgQba6AQEBMhqNqqmpsZUtXLhQly5d0t69e1ui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\n",
      "text/plain": [
       "<Figure size 1200x1000 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#查看音乐入口类型\n",
    "plt.figure(figsize=(12,10))\n",
    "g=sns.countplot(train['source_type'],hue=train['target'])\n",
    "locs,labels=plt.xticks()\n",
    "g.set_xticklabels(labels,rotation=45)\n",
    "#plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "#将触发事件、播放音乐入口的类型改为category\n",
    "train['source_system_tab']=train['source_system_tab'].astype('category')\n",
    "train['source_type']=train['source_type'].astype('category')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
